perm filename FOO[E76,JMC]2 blob
sn#237435 filedate 1976-09-23 generic text, type T, neo UTF8
(DEFPROP ALLFNS
(NIL READA READB REV1 PRINA PRINB)
VALUE)
(DEFPROP READA
(LAMBDA(U L)
(COND ((NULL U) (CONS (REV1 L (QUOTE ERROR)) NIL))
((EQ (CAR U) (QUOTE RP)) (CONS (REVERSE L) (CDR U)))
((EQ (CAR U) (QUOTE LP)) ((LAMBDA (W) (READA (CDR W) (CONS (CAR W) L))) (READA (CDR U) NIL)))
((EQ (CAR U) (QUOTE DOT)) ((LAMBDA (W) (CONS (REV1 L (CAAR W)) (CDR W))) (READA (CDR U) NIL)))
(T (READA (CDR U) (CONS (CAR U) L)))))
EXPR)
(DEFPROP READB
(LAMBDA (U) (COND ((EQ (CAR U) (QUOTE LP)) (CAR (READA (CDR U) NIL))) (T (CAR U))))
EXPR)
(DEFPROP REV1
(LAMBDA (U V) (COND ((NULL U) V) (T (REV1 (CDR U) (CONS (CAR U) V)))))
EXPR)
(DEFPROP PRINA
(LAMBDA(E L)
(COND ((ATOM E) (CONS E L))
(T (CONS (QUOTE LP) (PRINA (CAR E) (CONS (QUOTE DOT) (PRINA (CDR E) (CONS (QUOTE RP) L))))))))
EXPR)
(DEFPROP PRINB
(LAMBDA(E L)
(COND ((ATOM E) (CONS E L))
(T
(CONS (QUOTE LP)
(COND ((NULL (CDR E)) (PRINB (CAR E) (CONS (QUOTE RP) L)))
((ATOM (CDR E)) (PRINB (CAR E) (CONS (QUOTE DOT) (CONS (CDR E) (CONS (QUOTE RP) L)))))
(T (PRINB (CAR E) (CDR (PRINB (CDR E) L)))))))))
EXPR)